Run fallRunDSM model

s <- fall_run_model(mode = "seed")
sim <- fall_run_model(seeds = s, mode = "simulate")

Adult Return Ratio

Definition: This value represents the proportion of natural spawners created by in river spawners from three years prior.

Calculation: Adult return to natural origin/spawning adult ratio (mean) is defined as: the number of natural origin adult returns in year X + 3 divided by the number of in-river spawners in year X.

\(natural origin adults _ (x+3) / in river spawners_x\)

Assumptions:

natural_spawners <- (sim$proportion_natural * sim$spawners) |>
  as_tibble() |>
  mutate(watershed = fallRunDSM::watershed_labels) |>
  pivot_longer(names_to = "year", values_to = "natural_spawners", -watershed)

in_river_spawners <- sim$spawners |>
  as_tibble() |>
  mutate(watershed = fallRunDSM::watershed_labels) |>
  pivot_longer(names_to = "year", values_to = "total_spawners", -watershed)


sim_spawners <- in_river_spawners |>
  left_join(natural_spawners) |>
  group_by(watershed) |>
  mutate(
    year = as.numeric(year),
    lag_total = lag(total_spawners, 3),
    origin_year = lag(year, 3),
    metric = natural_spawners / lag_total) 

adult_plot <- sim_spawners |>
  ggplot(aes(origin_year, metric)) +
  geom_line(aes(color = watershed)) +
  scale_x_continuous(breaks = 1:20) + 
  theme_minimal() + 
  ylab('Adult Return Ratio') 

ggplotly(adult_plot)
 # theme(legend.position = "top") 

# 20 year average across all watersheds
# percents 
sim_spawners |>
  group_by(watershed) |>
  summarise(
    mean_adult_return_to_origin = mean(metric, na.rm = TRUE) * 100,
    median_adult_return_to_origin = median(metric, na.rm = TRUE) * 100
  ) |> knitr::kable(digits = 1)
watershed mean_adult_return_to_origin median_adult_return_to_origin
American River 16.6 15.2
Antelope Creek 133.1 63.7
Battle Creek 0.5 0.4
Bear Creek 142.3 82.6
Bear River 134.0 92.0
Big Chico Creek 140.3 69.6
Butte Creek 86.3 53.5
Calaveras River 129.9 73.4
Clear Creek 51.2 26.7
Cosumnes River 111.7 81.3
Cottonwood Creek 101.9 52.7
Cow Creek 58.8 25.2
Deer Creek 75.4 37.6
Elder Creek 218.4 119.5
Feather River 16.6 11.4
Lower Sacramento River NaN NA
Lower-mid Sacramento River NaN NA
Merced River 9.2 3.5
Mill Creek 64.7 29.3
Mokelumne River 2.8 1.2
Paynes Creek 136.7 74.5
San Joaquin River NaN NA
Stanislaus River 20.6 10.3
Stony Creek 163.8 98.2
Sutter Bypass NaN NA
Thomes Creek 158.9 72.3
Tuolumne River 14.8 10.9
Upper Sacramento River 55.3 26.6
Upper-mid Sacramento River NaN NA
Yolo Bypass NaN NA
Yuba River 36.7 28.6

Juveniles to Adult Ratio

Definition: This ratio represents the percent of returning natural origin adults that a cohort of juveniles produces.

Calculation: The average juvenile to adult return ration is defined as the number of juveniles produced in year X divided by the number of natural origin adult returns in year X + 3.

\(juveniles_x / natural origin adults_(x_+3)\)

Assumptions:

juveniles <- sim$juveniles |> 
  as_tibble() |>
  mutate(year = as.numeric(year)) |>
  group_by(year, watershed) |>
  summarise(total_juveniles = sum(juveniles)) |>
  ungroup() |>
  left_join(natural_spawners |>
              mutate(year = as.numeric(year))) |>
  arrange(watershed, year) |>
  group_by(watershed) |>
  mutate(natural_spawners_lag = lead(natural_spawners, 3),
         metric = total_juveniles / natural_spawners_lag,
         metric_rev = natural_spawners_lag / total_juveniles) |>
  ungroup()

juveniles |>
  group_by(watershed) |>
  summarise(avg_juvenile_metric_perc = mean(metric_rev, na.rm = TRUE) * 100,
            median_juvenile_metric_perc = median(metric_rev, na.rm = TRUE) * 100) |>
  arrange(-avg_juvenile_metric_perc) |> 
  knitr::kable(digits = 1)
watershed avg_juvenile_metric_perc median_juvenile_metric_perc
Elder Creek 0.5 0.3
Stony Creek 0.4 0.2
Thomes Creek 0.4 0.2
Cottonwood Creek 0.3 0.3
Bear Creek 0.3 0.2
Big Chico Creek 0.3 0.2
Calaveras River 0.3 0.2
Paynes Creek 0.3 0.2
Bear River 0.3 0.2
Antelope Creek 0.3 0.1
Cosumnes River 0.3 0.2
Butte Creek 0.2 0.1
Deer Creek 0.2 0.1
Upper Sacramento River 0.2 0.1
Mill Creek 0.2 0.1
Cow Creek 0.1 0.1
Clear Creek 0.1 0.1
Feather River 0.1 0.0
Yuba River 0.1 0.1
Stanislaus River 0.1 0.0
American River 0.0 0.0
Tuolumne River 0.0 0.0
Merced River 0.0 0.0
Battle Creek 0.0 0.0
Mokelumne River 0.0 0.0
Lower Sacramento River NaN NA
Lower-mid Sacramento River NaN NA
San Joaquin River NaN NA
Sutter Bypass NaN NA
Upper-mid Sacramento River NaN NA
Yolo Bypass NaN NA
juv_plot <- juveniles |>
  ggplot(aes( year, metric_rev)) +
  geom_line(aes(color = watershed)) +
  scale_x_continuous(breaks = 1:20) +
  ylab('Juvenile to Adult Ratio') + 
  theme_minimal()

ggplotly(juv_plot)